#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<unordered_map>
#include<string>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
//std::string name;
//std::vector<std::string> ret;
//int n, op, score;
//std::unordered_map<std::string, int> hash;
//int main()
//{
//	std::cin >> n;
//	for (int i = 0; i < n; i++)
//	{
//		std::cin >> op;
//		if (op == 1)
//		{
//			std::cin >> name >> score;
//			hash[name] = score;
//			ret.push_back("OK");
//
//		}
//		else if (op == 2)
//		{
//			std::cin >> name;
//			auto it = hash.find(name);
//			if (it == hash.end())
//			{
//				ret.push_back("Not found");
//			}
//			else
//				ret.push_back(std::to_string(it->second));
//		}
//		else if(op == 3)
//		{
//			std::cin >> name;
//			auto it = hash.find(name);
//			if (it == hash.end())
//				ret.push_back("Not found");
//			else
//			{
//				hash.erase(name);
//				ret.push_back("Deleted successfully");
//			}
//		}
//		else
//		{
//			ret.push_back(std::to_string(hash.size()));
//		}
//	}
//
//	for (auto& str : ret)
//	{
//		std::cout << str << std::endl;
//	}
//
//	return 0;
//}
// 
//int t, n, x;
//int main()
//{
//	cin >> t;
//	vector<vector<int>> ret(t, vector<int>());
//	for (int i = 0; i < t; i++)
//	{
//		unordered_map<int, int> _hash;
//		cin >> n;
//		for (int j = 0; j < n; j++)
//		{
//			cin >> x;
//			auto it = _hash.find(x);
//			if (it == _hash.end())
//			{
//				_hash[x] = 1;
//				ret[i].push_back(x);
//			}
//		}
//		
//	}
//
//	for (auto& e : ret)
//	{
//		for (auto& x : e)
//		{
//			cout << x << " ";
//		}
//		cout << endl;
//	}
//
//	return 0;
//}


//int N, _count, M;
//
//int main()
//{
//	string s;
//	unordered_map<string, set<unsigned long long int>> _hash;
//
//	cin >> N;
//	for (int i = 1; i <= N; i++)
//	{
//		cin >> _count;
//		for (int j = 0; j < _count; j++)
//		{
//			cin >> s;
//			_hash[s].insert(i);
//		}
//	}
//
//	cin >> M;
//	for (int j = 0; j < M; j++)
//	{
//		cin >> s;
//		auto it = _hash.find(s);
//		if (it == _hash.end())
//		{
//			cout << endl;
//			continue;
//		}
//
//		for (auto x : it->second)
//		{
//			cout << x << " ";
//
//		}
//		cout << endl;
//
//
//	}
//
//
//
//
//	return 0;
//}

//int N, c;
//int n = 1e5 + 10;
//int main()
//{
//	unsigned long long int count = 0;
//	unordered_map<int, int> _hash;
//	cin >> N >> c;
//	vector<int> data(N);
//	for (int i = 0; i < N; i++)
//	{
//		cin >> data[i];
//		_hash[data[i]]++;
//	}
//
//	for (int i = 0; i < N; i++)
//	{
//		auto it = _hash.find(data[i] + c);
//		if (it != _hash.end())
//		{
//			count += it->second;
//		}
//	}
//
//	cout << count;
//
//	
//
//
//
//	return 0;
//}


